{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 矩形脉冲波长的占空比"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此示例说明如何创建矩形脉冲波形并测量其占空比。您可以将矩形脉冲波形想象成一系列的开启和关闭状态。一个脉冲周期是一个开启和关闭状态的总持续时间。脉冲宽度是开启状态的持续时间。占空比是脉冲宽度与脉冲周期的比率。矩形脉冲的占空比描述脉冲处于开启状态的时间占一个脉冲周期的比率。\n",
    "\n",
    "创建一个以 1 千兆赫采样的矩形脉冲。脉冲处于开启状态（即等于 1），持续时间为 1 微秒。如果脉冲处于关闭状态（即等于 0），持续时间为 3 微秒。脉冲周期为 4 微秒。绘制波形。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy.signal as sig\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "Fs =1e9\n",
    "t = np.linspace(0,4e-5,40001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用scipy.signal.square函数创建周期方波\n",
    "如本示例中，采样hz为1e9，采样400001个点。创建的方波周期为4微秒，250000赫兹"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = sig.square(2*np.pi*250000*t,duty=0.25)\n",
    "plt.plot(t,x)\n",
    "x = np.array(x)\n",
    "#也就是说，这里面一共是t个点，也就是采样率为100\n",
    "#然后频率为2，这样就会采集到2个周期"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "findEdge(x)用于寻找周期方波的切换边沿，输入方波序列，返回c，d。c为上升沿，d为下降沿"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def findEdge(x):\n",
    "    c = []\n",
    "    d = []\n",
    "    for i in range(len(x)-1):\n",
    "        if(x[i]==-1 and x[i+1]==1 ):\n",
    "            c.append(i)#从-1变为1的点\n",
    "        if(x[i]==1 and x[i+1]==-1):\n",
    "            d.append(i)#从1变为-1的点\n",
    "    print(len(c),len(d))\n",
    "    return c,d \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "以下部分为使用相应的函数并作出标注<br/>\n",
    "每个检测到的脉冲的占空比是相同的，都等于 0.25。这是预期的占空比，因为脉冲在每 4 微秒的周期内开启 1 微秒，关闭 3 微秒。因此，脉冲在每个周期的 1/4 内处于开启状态。以百分比表示，这等于 25% 的占空比。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 10\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x13e778769e8>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pos,neg = findEdge(x)\n",
    "#plt.figure(figsize= [5,5])\n",
    "plt.plot(x)\n",
    "plt.plot(np.array(pos),np.zeros(len(pos)),'x',color = 'r')\n",
    "plt.plot(np.array(neg),np.zeros(len(pos)),'x',color = 'r')\n",
    "plt.plot([0,40000],[0,0],'--',color = 'b')\n",
    "plt.plot([0,40000],[1,1],'--',color = 'g')\n",
    "plt.plot([0,40000],[-1,-1],'--',color = 'y')\n",
    "plt.legend([\"signal\",\"mid reference\",\"upper state\",\"lower state\"],bbox_to_anchor = (1,1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "dutycycle为计算周期的函数。输入序列，能够返回出每一个周期的占空比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "def dutycycle(x):\n",
    "    pos,neg =findEdge(x)\n",
    "    cycle = []\n",
    "    precent = []\n",
    "    duty = []\n",
    "    for i in range(len(pos)-1):\n",
    "        cycle.append(pos[i+1]-pos[i])\n",
    "        precent.append(neg[i+1]-pos[i])\n",
    "        duty.append(round(precent[i]/cycle[i],2))\n",
    "    return duty"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 10\n",
      "[0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]\n"
     ]
    }
   ],
   "source": [
    "duty = dutycycle(x)\n",
    "print(duty)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plotFig(x,t):\n",
    "    plt.plot(t,x)\n",
    "    duty = dutycycle(x)\n",
    "    plt.title(\"Duty cycle  is {}\".format(duty[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用相同的采样率和脉冲周期，更改占空比，并计算占空比。绘制脉冲波形，并在绘图标题中显示占空比值。占空比随着脉冲宽度的增加从 0.25 (1/4) 增加到 0.75 (3/4)。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 10\n",
      "10 10\n",
      "10 10\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "x = sig.square(2*np.pi*250000*t,duty=0.25)\n",
    "y = sig.square(2*np.pi*250000*t,duty=0.5)\n",
    "z = sig.square(2*np.pi*250000*t,duty=0.75)\n",
    "plt.subplot(3,1,1)\n",
    "plotFig(x,t)\n",
    "plt.subplot(3,1,2)\n",
    "plotFig(y,t)\n",
    "plt.subplot(3,1,3)\n",
    "plotFig(z,t)\n",
    "plt.subplots_adjust(hspace=1)"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "9ebf9cfd872009544a161647ac82c48f4cc096aba58631b69e515c7576d66293"
  },
  "kernelspec": {
   "display_name": "Python 3.6.13 ('pytorch')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.13"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
